Fix IndexError in convert_size_bytes_to_string for sizes >= 1024 YB#186
Fix IndexError in convert_size_bytes_to_string for sizes >= 1024 YB#186SAY-5 wants to merge 2 commits into
Conversation
Signed-off-by: Sai Asish Y <say.apm35@gmail.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #186 +/- ##
=======================================
Coverage 98.33% 98.33%
=======================================
Files 13 13
Lines 780 780
=======================================
Hits 767 767
Misses 13 13
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@SAY-5 thank you for this PR, could you please add tests for converting from string to size and also ensure that size -> string -> size returns the initial value? |
|
Added both: YB-range cases to test_convert_size_string_to_bytes, and the size -> string -> size round-trip for 280, 290 and 2**100 in the existing round-trip test (all return the initial value). |
|
Both are in now: the string->size tests cover the YB range and the round-trip test confirms size -> string -> size returns the original value for 280, 290 and 2**100. CI is green across the matrix, so this should be ready whenever you get a chance to look. |
Describe your changes
convert_size_bytes_to_string()raisedIndexErrorfor any size of 1024 YB or more (2**90bytes and up), because the unit-selection loop guardfactor <= factor_limitlet the index increment one past the lastSIZE_UNITSentry beforeunits[factor]was read. Changing the guard tofactor < factor_limitstops at the largest unit and clamps the value to YB instead of crashing. Smaller sizes are unaffected.Related issue
#184
Checklist before requesting a review